/*
 Classe CommandeTourner "CommandeTourner.cpp"
 fait par Olivier Castede et Richter Romain - SI4 G2
 */

#include "CommandeTourner.h"
#include "Invocateur.h"

CommandeTourner* CommandeTourner::instance = NULL;

CommandeTourner* CommandeTourner::getInstance() {
	if (instance == NULL)
		instance = new CommandeTourner();
	
	return instance;
}

Commande* CommandeTourner::constructeurVirtuel() {
	Commande* com = new CommandeTourner();
	
	dynamic_cast<CommandeTourner*>(com)->dir = commandeur->getArg(1);
	
	return com;
}

void CommandeTourner::execute() {
	old_dir = bot->getDirection();
	
	bot->tourner(dir);
}

void CommandeTourner::desexecute() {
	bot->tourner(old_dir);
}

bool CommandeTourner::reversible() {
	return true;
}

